.\" Copyright (C) 2004 International Business Machines Corporation
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
.\"
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "Tspi_Hash_VerifySignature" 3 "2004-05-25" "TSS 1.1"
.ce 1
TCG Software Stack Developer's Reference
.SH NAME
Tspi_Hash_VerifySignature \- verify the hash value with a given signature
.SH "SYNOPSIS"
.ad l
.hy 0
.nf
.B #include <tss/platform.h>
.B #include <tss/tcpa_defines.h>
.B #include <tss/tcpa_typedef.h>
.B #include <tss/tcpa_struct.h>
.B #include <tss/tss_typedef.h>
.B #include <tss/tss_structs.h>
.B #include <tss/tspi.h>
.sp
.BI "TSS_RESULT Tspi_Hash_VerifySignature(TSS_HHASH " hHash ",             TSS_HKEY " hKey ","
.BI "                                     UINT32    " ulSignatureLength ", BYTE*    " rgbSignature ");"
.fi
.sp
.ad
.hy

.SH "DESCRIPTION"
.PP
\fBTspi_Hash_VerifySignature\fR verifies the hash value
of a given hash object with a given signature. In order to use this
command, one must have a hash and a signature of the hash that one is
trying to verify. The public key which corresponds to the private key
used to sign the hash is also needed.

.SH "PARAMETERS"
.PP
.SS hHash
The handle to the hash object instance whose hash value should be signed.
.SS hKey
Handle to the key object which should be used for the signature verification.
.SS ulSignatureLength
The length of the signature data provided at the parameter \fIrgbSignature\fR.
.SS rgbSignature
A pointer to the signature data.

.SH "RETURN CODES"
.PP
\fBTspi_Hash_VerifySignature\fR returns TSS_SUCCESS on success, otherwise
one of the following values is returned:
.TP
.SM TSS_E_INVALID_HANDLE
\fIhKey\fR is not a valid handle.

.TP
.SM TSS_E_INTERNAL_ERROR
An internal SW error has been detected.

.TP
.SM TSS_E_BAD_PARAMETER
One or more parameters is bad.

.TP
.SM TSS_E_HASH_INVALID_LENGTH
Hash length is inconsistent with hash algorithm.

.TP
.SM TSS_E_HASH_NO_DATA
Hash object has no internal hash value.

.TP
.SM TSS_E_INVALID_SIGSCHEME
Invalid signature scheme.


.SH "CONFORMING TO"

.PP
\fBTspi_Hash_VerifySignature\fR conforms to the Trusted Computing Group
Software Specification version 1.1 Golden

.SH "SEE ALSO"

.PP
\fBTspi_Hash_UpdateHash\fR(3), \fBTspi_Hash_SetHashValue\fR(3),
\fBTspi_Hash_Sign\fR(3), \fRTspi_Hash_GetHashValue\fR(3).

